/*
 *   Copyright (c) 2010-2022, SIUFUNG
 */
package net.siufung.market.base.tenant.controller.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import net.siufung.core.utils.CopyUtil;
import net.siufung.market.base.tenant.mapper.entity.Tenant;

import java.io.Serializable;

/**
 * <p>
 * 系统租户表 默认数据传参对象
 * </p>
 * @author 陈建峰
 * @since 2022-07-06 14:45:08
 */
@Slf4j
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="TenantDto", description="系统租户表默认数据传输对象")
public class TenantDto implements Serializable {

    private static final long serialVersionUID = 5505238387872852475L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    private Integer id;

    /**
     * 租户名称
     */
    @ApiModelProperty(value = "租户名称")
    private String name;

    /**
     * 租户唯一编码
     */
    @ApiModelProperty(value = "租户唯一编码")
    private String code;

    /**
     * 租户管理账号
     */
    @ApiModelProperty(value = "租户管理账号")
    private String adminAccount;

    /**
     * 租户管理账号主见
     */
    @ApiModelProperty(value = "租户管理账号主见")
    private String adminAccountId;

    /**
     * 租户类型
     */
    @ApiModelProperty(value = "租户类型")
    private Integer tenantTypeId;

    /**
     * 初始化状态
     */
    @ApiModelProperty(value = "初始化状态")
    private Boolean tenantInitState;

    /**
     * 预设状态 0否 1是
     */
    @ApiModelProperty(value = "预设状态 0否 1是")
    private Boolean tenantDefaultState;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String description;

    /**
     * 数据标识
     */
    @ApiModelProperty(value = "数据标识")
    private Boolean deleted;


    /**
     * 转化成数据库实体
     * @return Tenant
     */
    public Tenant to(){
        Tenant tenant = new Tenant();
        CopyUtil.copyProperties(this, tenant);
        return tenant;
    }
}